#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"

const int inf = 0x3f3f3f3f;

void solve(){
    int n,m;
    cin>>n>>m;
    vector<ll>nums(m+5);
    vector<ll>dp(m+5,0);
    for(int i=1;i<=m;i++){
        cin>>nums[i];
    }
    // ll cnt=0;
    // ll temp=0;
    // ll cntbug=0;
    // for(int i=0;i<m;i++){
    //     if(i==0){
    //         temp=nums[i];
    //         cntbug++;
    //         continue;
    //     }
    //     if(nums[i]+(cntbug+1LL)*(cntbug+1LL)*(cntbug+1LL)*(cntbug+1LL)>=temp+nums[i]+1+cntbug*cntbug*cntbug*cntbug){
    //         cnt+=temp+cntbug*cntbug*cntbug*cntbug;
    //         temp=nums[i];
    //         cntbug=1LL;
    //     }
    //     else {
    //         cout<<"nums[i]:"<<nums[i]<<endl;
    //         cout<<"temp:"<<temp<<endl;
    //         cntbug++;
    //         temp+=nums[i]-nums[i-1];
    //     }
    // }
    // cnt+=temp+cntbug*cntbug*cntbug*cntbug;
    // cout<<cnt;
    for(int i=1;i<=m;i++){
        dp[i]=dp[i-1]+nums[i]+1;
        for(int j=max(0,i-25);j<i;j++){
            dp[i]=min(dp[j]+(ll)pow(i-j,4)+nums[i],dp[i]);
        }
    }
    cout<<dp[m];
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int _=1;
    //cin>>_;
    while(_--){
        solve();
    }
    return 0;
}